# Maintainer: Anatol Pomozov
# Contributor: Byron Clark <byron@theclarkfamily.name>

# This package contains only thrift compiler and C/C++ libraries
# for all the language binding one should use corresponding language-specific package manager:
# CPAN for perl, gem for ruby, pip for python etc... Or better to create arch packages that install
# the binding from the language specific managers python2-thrift, perl-thrift, ruby-thrift, ...

pkgname=thrift
pkgver=0.18.1
pkgrel=1
pkgdesc='Scalable cross-language services framework for IPC/RPC'
arch=(loong64 x86_64)
url='https://thrift.apache.org'
license=(APACHE)
depends=(gcc-libs openssl)
makedepends=(qt5-base boost libevent emacs-nox)
optdepends=(
  'qt5-base: TQTcpServer (Qt5) support'
)
options=(!lto) # https://issues.apache.org/jira/browse/THRIFT-5498
source=(thrift-$pkgver.zip::https://github.com/apache/thrift/archive/v$pkgver.zip)
sha256sums=('5f803ff19acd6dc0e3857bbe46e1b01ba18526ea41342a36ab17ef18ede92017')

build() {
  cd thrift-$pkgver

  ./bootstrap.sh
  ./configure --prefix=/usr \
	      --enable-plugin \
              --with-cpp \
              --with-c_glib \
              --with-qt5 \
              --with-libevent \
              --with-csharp \
              --without-haskell \
              --without-php \
              --without-ruby \
              --without-python \
              --without-erlang \
              --without-perl \
              --without-java \
              --without-c_sharp \
              --without-d \
              --without-php \
              --without-go \
              --without-lua \
              --without-nodejs
              
  make

  emacs -Q --batch -f batch-byte-compile contrib/thrift.el
}

check() {
  cd thrift-$pkgver
#  make check
}

package() {
  cd thrift-$pkgver
  make DESTDIR="$pkgdir" install

  install -m0644 -D contrib/thrift.vim "$pkgdir"/usr/share/vim/vimfiles/syntax/thrift.vim
  install -m0644 -D contrib/thrift.el "$pkgdir"/usr/share/emacs/site-lisp/thrift.el
  install -m0644 -D contrib/thrift.elc "$pkgdir"/usr/share/emacs/site-lisp/thrift.elc
}
